<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组方法</title>
</head>
<body>
    <script>
        // 数组属性
        // 数组的先定义后赋值
        var arr=[];
        arr[0]='as';
        arr[1]='sd';
        arr[2]='xbc';
        console.log(arr); //['as','sd','xbc']
        // 数组的长度
        console.log(arr.length); //3
        // 利用长度清空数组
        arr.length=0;
        console.log(arr);  //[]
        
        
        // 数组遍历for in
        var arr1=['as','sd','xbc']
        for(var i in arr1){
            console.log(arr1[i]);
        }        //as sd xbc
        

        // 数组方法
        // Array.isArray()方法返回布尔值，表示参数是否为数组
        var arr2= []
        Array.isArray(arr2);  //true

        // push()末端添加元素，返回新数组长度
        var arr3=['fsf']
        var ar=arr3.push('asd','sad')  //3
        console.log(ar,arr3);

        // pop()删除数组最后一个元素，返回该元素
        var arr4=['sd','sdf']
        arr4.pop() //'sdf'
        
        // shift()删除第一个元素,返回该元素
        var arr5=['sdd','dsf']
        arr5.shift()  //'sdd'

        // unshift()在数组的第一个位置添加元素,并返回新数组的长度
        var arr6=['sddd','dfxc']
        arr6.unshift('das',"sdasd")  //4

        // join()已指定参数作为连接符,将所有数组成员连接 为一个字符串
        var arr7=['sh','zf','sll']
        arr7.join('')  //shzfsll

        // concat()用于合并多个数组
        var arr8=['sd','fs']
        arr8.concat(['xc','xza'])    //['sd', 'fs', 'xc', 'xza']

        // reverse()用于翻转数组
        var arr9=['ds','gse',2]
        arr9.reverse()   //[2, 'gse', 'ds']

        // slice()用于提取目标数组一部分返回新数组,原数组不变,一参开始位置,二参结束位置
        var arr10=[1,2,3,4,5]
        arr10.slice(1,2) //[2]

        // splice()删除原数组一部分并在删除位置添加,返回删除部分
        //一参开始位置,二参删除个数,三参及以后为添加元素
        var arr11=[1,2,3,4,5,6,7]
        arr11.splice(2,1,8,9,10)  //3
        arr11  //[1, 2, 8, 9, 10, 4, 5, 6, 7]

        // indexOf()方法返回给定元素在数组中第一次出现的位置，如果没有出现则返回-1
        var arr12=[1,2,3,4,5,6]
        arr12.indexOf(3)   //2

        // lastIndexOf()方法返回给定元素在数组中最后一次出现的位置，如果没有出现则返回-1
        var arr13=[1,2,3,4,5,6,7,8,3]  
        arr13.lastIndexOf(3)   //8
        console.log();
        
        
        // es6新增
        // 扩展运算符（spread）是三个点（...）。将一个数组转为用逗号分隔的参数序列
        console.log(1, ...[2, 3, 4], 5)   // 1 2 3 4 5

        // Array.from()方法用于将类数组转为真正的数组
        console.log(Array.from());
        

    </script>
</body>
</html>